﻿using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using STT.Business;
using STT.Entities;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Web;
using STT.Layer.Connection;
using System.Data;

namespace STT.Admin.UserControls
{
    public partial class ucPhongHoc : System.Web.UI.UserControl
    {
        public bool chonSuaClick;
        protected void Page_Load(object sender, EventArgs e)
        {
            LoadPhongHoc();
         
        }
        void LoadPhongHoc()
        {
            gvPhongHoc.AutoGenerateColumns = false;
            gvPhongHoc.DataSource = BTbPhongHoc.SelectAll1();
            gvPhongHoc.DataBind();
        }
        bool KiemTraDuLieu()
        {
            return BTbPhongHoc.KiemTraDuLieu(new ETbPhongHoc
            {
                TenPhongHoc = txtTenPhongHoc.Text
                
            });
        }
        bool KiemTraDuLieu_Sua()
        {
            return BTbPhongHoc.KiemTraDuLieu_Sua(new ETbPhongHoc
            {
                TenPhongHoc = txtTenPhongHoc.Text,
                MaPhongHoc = Int32.Parse(hfMaPhongHoc.Value)
            });
        }
        bool KiemTraMaPhongHoc(int MaPhongHoc)
        {
            return BTbPhongHoc.KiemTraMaPhongHoc(new ETbPhongHoc
            {
                MaPhongHoc = MaPhongHoc
            });
        }
        void ThongBao(string Loi)
        {
            ScriptManager.RegisterClientScriptBlock(this, GetType(), "Thông báo!", "<script>alert('" + Loi + "')</script>", false);
        }
        protected void btSearch_Click(object sender, ImageClickEventArgs e)
        {
            gvPhongHoc.DataSource = BTbPhongHoc.SearchPhongHoc(new ETbPhongHoc
            {
                TenPhongHoc = txtTimKiem.Text
            });

            gvPhongHoc.DataBind();
        }

        protected void gvPhongHoc_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            gvPhongHoc.EditIndex = -1;
            gvPhongHoc.DataBind();
        }

        protected void gvPhongHoc_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            try
            {
                int MaPhongHoc = int.Parse(gvPhongHoc.DataKeys[e.RowIndex].Value.ToString());
                BTbPhongHoc.Delete(MaPhongHoc);
                LoadPhongHoc();
                Session["action"] = 3;
            }
            catch
            {
                ThongBao("Dữ liệu liên quan đến Phòng học này vẫn tồn tại, vui lòng kiểm tra lại dữ liệu!");
            }
        }

        protected void gvPhongHoc_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gvPhongHoc.PageIndex = e.NewPageIndex;
            gvPhongHoc.DataBind();
        }

        protected void gvPhongHoc_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "ChonSua")
            {
                int index = Convert.ToInt32(e.CommandArgument);
                hfMaPhongHoc.Value = gvPhongHoc.DataKeys[index].Value.ToString();
                // Thay đổi tiêu đề
                txtTieuDe.InnerText = "Sửa Phòng học";
                txtTenPhongHoc.Text = HttpUtility.HtmlDecode(gvPhongHoc.Rows[index].Cells[2].Text);
                Label tt = ((Label)gvPhongHoc.Rows[index].Cells[2].FindControl("lblTrangThai"));
                if (tt.Text == "Sử dụng")
                {
                    ddlTrangThai.SelectedValue = "1";
                }
                else
                { ddlTrangThai.SelectedValue = "0"; }
                chonSuaClick = true;
            }
        }

        protected void btSua_Click(object sender, EventArgs e)
        {
            if (!KiemTraDuLieu_Sua())
            {
                BTbPhongHoc.Update(new ETbPhongHoc
                {
                    MaPhongHoc = Int32.Parse(hfMaPhongHoc.Value),
                    TenPhongHoc = txtTenPhongHoc.Text,
                    TrangThai = Int32.Parse(ddlTrangThai.SelectedValue)
                });
                LoadPhongHoc();
                Session["action"] = 2;
            }
            else
            {
                ThongBao("Vui lòng kiểm tra lại dữ liệu , dữ liệu đã tồn tại !");
            }
      
        }

       

        protected void lbXoaTat_Click(object sender, EventArgs e)
        {
            try
            {
                for (int i = 0; i < gvPhongHoc.Rows.Count; i++)
                {
                    CheckBox cbChon = (CheckBox)gvPhongHoc.Rows[i].Cells[0].FindControl("cbChon");
                    if (cbChon != null && cbChon.Checked)
                    {
                        BTbPhongHoc.Delete(int.Parse(gvPhongHoc.DataKeys[i].Value.ToString()));
                    }
                }

                LoadPhongHoc();
                Session["action"] = 3;
            }
            catch
            {
                ThongBao("Dữ liệu liên quan đến một số Phòng học vẫn tồn tại, vui lòng kiểm tra lại dữ liệu!");
            }
        }

        protected void btThemMoi_Click(object sender, EventArgs e)
        {
            if (!KiemTraDuLieu())
            {
                BTbPhongHoc.Insert(new ETbPhongHoc
                {
                    TenPhongHoc = txtTenPhongHoc.Text,
                    TrangThai = Int32.Parse(ddlTrangThai.SelectedValue)
                });

                LoadPhongHoc();
                Session["action"] = 1;
            }
            else
            {
                ThongBao("Phòng học này đã tồn tại!");
                //ScriptManager.RegisterClientScriptBlock(this, GetType(), "Thông báo!", "<script>alert('Phòng học này đã tồn tại!')</script>", false);
            }
        }
    }
}